<?php
/**
  * classe definissant les boxs de type liste s'affichant en fonction du parametre $mdyn.
  * Cette classe permet de faire un box avec une liste d'item (type menu par exemple) qui s'affichera si
  * le parametre $mdyn est egal au nom du box. $mdyn est stocke dans la session donc pour ne plus afficher
  * ce box, il faut reinitialiser $mdyn.
  * 
  * Developpee par Rodrigue LE GALL
  * sous licence GPL
  * Objectif : Construire des menus dynamiques communs a tous les groupes
  */
require_once(get_path_module("environnement.box"));

        
class mdyn extends box
{
    /**
      * $needenv permet de specifier si la methode construct a besoin de l'objet environnement
      * 0 : pas besoin
      * 1 : besoin
      */
    var $needenv = 1;
    
    function construct(){
        /**
          * a implementer : mise a jour de $this->prompt
          */
        require_once(get_path_module("environnement.environnement"));
        $env = $this->getenv();
        $param = $this->getparam();
        $listeTexte = $param->get("texte");
        $listeLien  = $param->get("lien");
        $listeTarget= $param->get("target");
        $nbItem     = $param->get("nbitem");
        $env->Open($env->base_path.$this->template);
        $env->Parse('titre',$param->get('titre'));
        for($i=0;$i< $nbItem;$i++){
            $env->Parse("liste.texte",$listeTexte[$i]);
            $env->Parse("liste.lien",$listeLien[$i]);
            if($listeTarget[$i]==''){
            	$env->Parse("liste.target","_self");
            }else{
            	$env->Parse("liste.target",$listeTarget[$i]);
            }
            $env->Loop("liste");
        }
        $out = '';
        $out .= "<?php  global \$_SESSION,\$mdyn;\nif(array_key_exists('mdynsession',\$_SESSION)){\n";
    	$out .= "\$mdynsession = \$_SESSION['mdynsession'];}\n";
    	$out .= "else{\$mdynsession = '';}\n";
    	$out .= "if(!isset(\$mdyn)) \$mdyn=\$mdynsession;\n";
        $out .= "else \$_SESSION['mdynsession']=\$mdyn;\n";
        $out .= "if(\$mdyn=='".$this->getnom()."'){?>";
        $out .= $env->Output();
        $out .= "<?php } ?>";
        $this->prompt=$out;
    }
}
?>
